package ch06.ith_4;

import java.util.Scanner;

import static ch06.ith_3.CalenderDemo.demo02;

public class RegexDemo {
    public static void main(String[] args) {
        System.out.println("------demo01()---------");
        demo01();
        System.out.println("------demo02()---------");
      demo02();
        System.out.println("------demo03()---------");
demo03();
        System.out.println("------demo04()---------");
        demo04();
        System.out.println("------demo05()---------");
        demo05();
        System.out.println("------demo06()---------");
demo06();
        System.out.println("------demo07()---------");
        demo07();
        System.out.println("---08 -------");
        demo08();
        System.out.println("-------09--------");
        demo09();
            }

    private static void demo09() {

    }

    private static void demo08() {

//密码必须是 6 为，首字母不能以 数字开头
        String mima = "[\\D.....]";
        System.out.println("123456".matches(mima));

    }

    private static void demo07() {
        //   .  代表任意字符  两个则代表任意两个字符
        String regex = "..";
        System.out.println("ab".matches(regex));
        // \d 代表 数字 [0-9]
        String regex1 = "\\d"; //   java 中 \ 代表转义字符，如果像表带反斜杠 需要两个 \\
        System.out.println("a".matches(regex1));
        System.out.println("1".matches(regex1));

    }

    private static void demo06() {
        //[a-z&&[^bc]]  除了b c 之外  和 a到 z 进行交集
         String regex = "[a-z&&[^bc]]";
        System.out.println("a".matches(regex));
        System.out.println("b".matches(regex));
    }

    private static void demo05() {
        //[a-z&&[def]] d、e 或 f （交集）
        String regex = "[a-z&&[def]]";
        System.out.println("d".matches(regex));
        System.out.println("a".matches(regex));
    }

    private static void demo04() {
        //a 到 d 或 m 到  p [a-dm-p] （并集）
        String regex = "[a-dm-p]";
        System.out.println("c".matches(regex));
        System.out.println("e".matches(regex));
    }

    private static void demo03() {
        // a 到 z 或A 到 Z，两头的字母包括在内（范围）
        String regex = "[a-zA-Z]";
        System.out.println("b".matches(regex));
        System.out.println("1".matches(regex));
    }

    private static void demo02(){
        //[]中括号 ^ 除了否定
        String mia = "mldfdff";
        String regex="[^a-zA-Z0-9]+";
        System.out.println(mia.replaceAll(regex,""));
    }
    public static void demo01() {
        //[]代表单个字符
        String regex = "[abc]";
        System.out.println("a".matches(regex));
        System.out.println("b".matches(regex));
        System.out.println("c".matches(regex));
        System.out.println("ab".matches(regex));
    }
}
